package net.ibizsys.modelingadv.runtime;

import net.ibizsys.central.cloud.core.ServiceSystemRuntime;
import net.ibizsys.model.IPSSystemService;
import net.ibizsys.model.PSModelServiceImpl;
import net.ibizsys.central.security.ISystemAccessManager;
import net.ibizsys.central.dataentity.IDataEntityRuntime;

/**
 * 系统运行时对象基类
 * [机器代码]
 */
public abstract class SystemRuntimeBase extends ServiceSystemRuntime implements ISystemRuntime {

    @Override
    public String getName() {
        return "iBizModelingAdvanced";
    }

    @Override
    protected IPSSystemService createPSSystemService() throws Exception {
        PSModelServiceImpl psModelServiceImpl = new PSModelServiceImpl();
        psModelServiceImpl.setPSModelFolderPath("/model/net/ibizsys/modelingadv", true);
        return psModelServiceImpl;
    }

    @Override
	protected ISystemAccessManager createSystemAccessManager() {
        ISystemAccessManager iSystemAccessManager = new net.ibizsys.modelingadv.runtime.security.SystemAccessManager();
        this.autowareObject(iSystemAccessManager);
		return iSystemAccessManager;
	}

    @Override
	protected IDataEntityRuntime createDefaultDataEntityRuntime() {
        IDataEntityRuntime iDataEntityRuntime = new net.ibizsys.modelingadv.runtime.dataentity.DataEntityRuntime();
        this.autowareObject(iDataEntityRuntime);
		return iDataEntityRuntime;
	}


    @Override
	public boolean isEnableRTCodeMode() {
		return true;
	}
}
